package cn.tedu.mybatis.mapper;

import cn.tedu.mybatis.pojo.Car;
import org.apache.ibatis.annotations.MapKey;

import java.util.List;
import java.util.Map;

public interface CarMapper {
    /**
     * 根据id查询车辆信息
     * @param id
     * @return
     */
    Car selectById(Long id);

    /**
     * 查询所有车辆信息
     * @return
     */
    List<Car> selectAll();

    /**
     * 根据品牌进行模糊查询
     * @param brand
     * @return
     */
    Car selectByBrandLike(String brand);

    /**
     * 根据id获取车辆信息，并返回到Map集合中
     * @param id
     * @return
     */
    Map<String, Object> selectById2RetMap(Long id);

    List<Map<String, Object>> selectAll2RetListMap();

    /**
     * 查询所有的car信息，返回一个大的Map集合，
     * map集合的key为每条记录的主键值，value为每条记录
     * @return
     */
    @MapKey("95")
    Map<Long, Map<String, Object>> selectAll2RetMap();

    /**
     * 查询所有的Car信息，使用resultMap标签进行结果集映射
     * @return
     */
    List<Car> selectAllByResultMap();

    /**
     * 获取car的总记录条数
     * @return
     */
    Long selectTotal();



}
